#ifndef SymbolTablesManager_h
#define SymbolTablesManager_h
#include <vector>
#include <string>
#include <cstdio>
#include "SymbolTable.hpp"


class SymbolTablesManager {
	private:
		std::vector<SymbolTable *> * tables;
		SymbolTable * currentTable;
		
		SymbolTable * getRootTable();

	public:
		SymbolTablesManager();
		~SymbolTablesManager();

		void push();
		void pushRecord() ;
		void pop();

		SymbolTable * getCurrent();
		SymbolTable * gotoRootTable();
	
		void addRecordTable(SymbolTable * recTable);
		void show() ;
		static void test();
};

#endif
